// 定义两个矩形用于表示玩家和子弹的位置大小
RECT playerRect;
playerRect.left = PlayerPositionX - PLAYER_WIDTH / 2;
playerRect.right = PlayerPositionX + PLAYER_WIDTH / 2;
playerRect.top = PlayerPositionY - PLAYER_HEIGHT / 2;
playerRect.bottom = PlayerPositionY + PLAYER_HEIGHT / 2;

for(int i = 0; i < MAX_BULLETS; ++i){
    RECT bulletRect;
    // 假设每个子弹都有位置坐标BulletPositions[i]以及固定的宽度高度BULLET_WIDTH/BULLET_HEIGHT
    bulletRect.left = BulletPositions[i].x - BULLET_WIDTH / 2;
    bulletRect.right = BulletPositions[i].x + BULLET_WIDTH / 2;
    bulletRect.top = BulletPositions[i].y - BULLET_HEIGHT / 2;
    bulletRect.bottom = BulletPositions[i].y + BULLET_HEIGHT / 2;

    if(PatBlt(hdc, playerRect.left, playerRect.top, 
        playerRect.right-playerRect.left,
        playerRect.bottom-playerRect.top, PATCOPY)){
            if(playerno >= 0){ // 当有剩余生命次数时减少一次并显示相应数量图标
                playerno--;
            }else{
                over = 1;
                inputno = 1;
                pzbz = 1;
            }
            break;
        }
}

if (over == 1 && pver != 1){
    DrawGameOver();   // 渲染"Game Over"
    InvalidateRect(hwnd, NULL, TRUE); // 刷新窗口以便立即重绘
    UpdateWindow(hwnd);
    Sleep(DELAY_TIME_BEFORE_ENDING_GAME); // 等待一段时间让玩家看到结果再真正退出
    PostQuitMessage(WM_QUIT_MESSAGE_CODE); // 发送消息告诉操作系统应用程序要关闭
} else123 {
    continueGameLogic();
}